package com.woniuxy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.entity.Notification;
import com.woniuxy.entity.DTO.NotificationQueryDTO;
import com.woniuxy.util.PageResult;

import java.util.List;

/**
 * @Author pml
 * @Date 2025/7/17 1:52
 * @Description TODO
 * @Author 系统通知Service接口
 * @Date 2025/7/16
 * @Description 定义通知相关的业务方法
 */
public interface INotificationService extends IService<Notification> {
    /**
     * 分页多条件查询通知列表
     * @param queryDTO 查询条件和分页参数
     * @return 分页结果对象，包含通知列表和分页信息
     */
    PageResult<Notification> getNotificationList(NotificationQueryDTO queryDTO);

    /**
     * 批量删除通知
     * @param ids 通知ID列表
     * @return 是否删除成功
     */
    boolean batchDelete(List<String> ids);

    /**
     * 标记通知为已读
     * @param id 通知ID
     * @return 是否更新成功
     */
    boolean markAsRead(String id);

    /**
     * 批量标记通知为已读
     * @param ids 通知ID列表
     * @return 是否更新成功
     */
    boolean batchMarkAsRead(List<String> ids);
}